package com.ms.p2p.plugin.validation.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target( { ElementType.METHOD, ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
public @interface Validations {

    public RequiredFieldValidator[] requiredFields() default {};

    public RequiredStringValidator[] requiredStrings() default {};
    
    public RegexFieldValidator[] regexFields() default {};
    
    public IntRangeFieldValidator[] intRangeFields() default {};
    
    public StringLengthFieldValidator[] stringLengthFields() default {};

    public UrlValidator[] urls() default{};
    
    public SpecialRegexFieldValidator[] specials() default{};
    
    public PermissionValidator[] perms() default {};
    public TokenValidator[] token() default {};
    
}
